package com.net.oil.luckPan.contract;

import com.net.oil.base.IBaseModel;
import com.net.oil.http.custom.ApiException;
import com.net.oil.luckPan.bean.LotteryBean;
import com.net.oil.luckPan.bean.LuckPanBean;

/**
 * 作者：lch
 * 时间：2018/10/14 0014:下午 19:44
 * 邮箱：245850413@qq.com
 * 说明：
 */

public interface LuckPanContract {
    interface Model extends IBaseModel {

        /**
         * 初始化抽奖转盘
         *
         * @param actionId 活动id
         */
        void initLuckPan(int actionId);

        /**
         * 抽奖
         *
         * @param actionId 活动id
         */
        void lottery(int actionId);
    }

    interface View {

        /**
         * 初始化抽奖转盘成功
         * @param luckPanBean   抽奖初始化数据
         */
        void initLuckPanSuccess(LuckPanBean luckPanBean);

        /**
         * 初始化筹集转盘失败
         */
        void initLuckPanFailed();

        /**
         * 抽奖成功
         * @param lotteryBean   抽奖结果
         */
        void lotterySuccess(LotteryBean lotteryBean);

        /**
         * 抽奖失败
         */
        void lotteryFailed(ApiException e);
    }

    interface Presenter {

        /**
         * 初始化抽奖转盘
         *
         * @param actionId 活动id
         */
        void initLuckPan(int actionId);

        /**
         * 抽奖
         *
         * @param actionId 活动id
         */
        void lottery(int actionId);

        /**
         * 初始化抽奖转盘成功
         * @param luckPanBean   抽奖初始化数据
         */
        void initLuckPanSuccess(LuckPanBean luckPanBean);

        /**
         * 初始化筹集转盘失败
         */
        void initLuckPanFailed();

        /**
         * 抽奖成功
         * @param lotteryBean   抽奖结果
         */
        void lotterySuccess(LotteryBean lotteryBean);

        /**
         * 抽奖失败
         */
        void lotteryFailed(ApiException e);
    }
}
